IBIS Macromodel Task Group

Meeting date: 18 June 2024

Members (asterisk for those attending):
Achronix Semiconductor:       Hansel Dsilva
Amazon:                       John Yan
ANSYS:                      * Curtis Clark
                            * Wei-hsing Huang
Aurora System:              * Dian Yang
                              Raj Raghuram
Cadence Design Systems:     * Ambrish Varma
                            * Jared James
Dassault Systemes:            Longfei Bai                             
Google:                       Hanfeng Wang
                              GaWon Kim
Intel:                      * Michael Mirmak
                              Kinger Cai
                              Chi-te Chen
                              Liwei Zhao
                            * Alaeddin Aydiner
                            * Sai Zhou
Keysight Technologies:        Fangyi Rao
                              Majid Ahadi Dolatsara
                              Stephen Slater
                              Ming Yan
                              Rui Yang
Marvell:                      Steve Parker
Mathworks (SiSoft):         * Walter Katz
                              Graham Kus
Micron Technology:            Justin Butterfield
Missouri S&T:                 Chulsoon Hwang
                              Yifan Ding
                              Zhiping Yang
Rivos:                        Yansheng Wang
SAE ITC:                      Michael McNair
Siemens EDA (Mentor):       * Arpad Muranyi
                              Randy Wolff
Teraspeed Labs:               [Bob Ross]
Zuken USA:                    Lance Wang

The meeting was led by Arpad Muranyi.  Curtis Clark took the minutes.

--------------------------------------------------------------------------------
Opens:

- Walter had several new topics to discuss eventually:
  - Use of special characters in the Executable subparameter line
  - Model Specific parameter names (e.g., use of reserved words such as Corner)
  - C_comp_corner for T-coils?
  
- Alaeddin said he had some thoughts to share on C-phy support with AMI.
  
-------------
Review of ARs:

None.
            
--------------------------
Call for patent disclosure:

- None.

-------------------------
Review of Meeting Minutes:

Arpad asked for any comments or corrections to the minutes of the June 11th
meeting.  Arpad moved to approve the minutes.  Dian seconded the motion.  There
were no objections.

--------------
New Discussion:

MIPI C-phy support in IBIS:
Arpad resumed the review of his "C-phy Overview for IBIS" to help spur
discussion about whether IBIS should introduce changes to support C-phy.  He
noted a new slide 2, which highlighted the changes in the most recent version
of the MIPI C-PHY specification from 2021.  He said that while his presentation
was based on v2.0 from 2019, nothing in v2.1 from 2021 was different for the
purposes of this discussion.

slide 11: C-phy support using Submodels: Modifying Bus Hold as a starting point
At the previous meeting, Fangyi had asked how Arpad's proposed use of [Model]
and [Submodel] to model the C-phy Tx might work.  Arpad reviewed a new slide 11.
It includes text from IBIS version 7.2 defining the Bus Hold Submodel_type.
Arpad said the C-phy Tx could be implemented similarly to Bus Hold.  Instead of
using a "buffer pad" waveform and V_trigger_r and Vtrigger_f thresholds for the
triggering mechanism, we would need to add an independent stimulus signal to
trigger the Submodel.

slide 12: Termination at the Rx.
Arpad reviewed the termination at the Rx triplet.  There are 3 terminating
resistors.  Each wire of the triplet is connected through one resistor to a
common node connected to ground via a capacitor.  The three lines are connected
together to a common node, not to Vdd, Vcc, Vtt, etc., as is typically done in
IBIS.  This termination scheme is new to IBIS, and could not be described with
the [Model] keyword.  However, it could be handled with the [Interconnect Model]
keyword as though it were an on-die interconnect.

The specification guarantees that at least one of the 3 lines will have a zero-
crossing every UI, and there may be more than one that does.  The eye diagram is
always triggered by the first zero crossing to occur, and this trigger is for the
previous UI's worth of waveform.  The 3 true differential Rxs could be modeled
with three instances of the [Model] keyword, but their outputs and the eye
diagram would need to be processed together by the simulator.  IBIS would
need an additional keyword or subparameter to define the triplet of differential
Rx models.  Ambrish commented that most of this is outside of anything we do in
IBIS.  The tool will handle most of this.  Arpad said this discussion was
intended to review the basics of C-phy, so we can decide how or what we need to
handle in IBIS.  Arpad said Ambrish raised a good point about whether the model
or tool would be required to handle the clock ticks.  In AMI, we typically have
the model returning clock ticks, but here we have 3 interrelated Rxs.  Perhaps
the tool would have to determine the clock ticks based on all 3 differential
waveforms.  This is all intended as a discussion starter.

Ambrish asked whether we are talking about supporting C-phy or general
multi-level signaling.  Arpad said this was a good general question for this
discussion.  He said each C-phy Tx is basically single-ended PAM3 with lots
of additional quirks.  Arpad recalled that he'd once started a BIRD proposal
to introduce a multi-level stimulus that could be used for PAMn models that
were implemented via multi-lingual [External Model].  He said the goal here
is to spur discussion of all the possibilities.

Modeling possibilities:
The remaining slides discuss various possibilities for modeling.  Arpad
highlighted:

Multi-lingual:
- Could model Tx and Rx devices individually, or could create more specialized
  models that include the entire triplets and have 3 outputs or inputs.
- Could implement symbol mapping in the Tx model and eye diagram trigger
  extraction  in the Rx model, for example.
- Multi-lingual approach puts more burden on the model maker, but it may be
  a more agile approach if it requires fewer spec changes and allows faster
  implementation.
- Intellectual property protection might be an issue unless we have encryption.
- IBIS would still need to define a stimulus and what is returned, so the EDA
  tool knows what to do with these models.
  
Specialized IBIS keywords:
- We would need new keywords for "analog PAMn modeling".
- May want multiple sets of  I-V and V-t tables or possibly Touchstone files
- Could consider adding specialized keywords to contain the entire triplet
- Mapping, encoding, trigger extraction should be left to EDA tools.

Analog IBIS or IBIS-AMI?:
- Is the LTI assumption of AMI "good enough" for C-phy?
- Supporting multi-wire signaling or chord signaling might require a major
  overhaul of IBIS-AMI.
- Is there a need to support power-aware modeling for C-phy?
- C-phy triggered eye diagram is very different from the SerDes CDR approach

Alaeddin shared some thoughts on C-Phy modeling with AMI:
Alaeddin suggested a new "CPHY" option be added as a valid value for the AMI
Reserved Parameter Modulation.  He suggested that EDA tools should consider
returning an error if the user attempted a statistical simulation with C-phy,
unless and until the tools have come up with sophisticated methods for this.
He said statistical simulation for a correlated triplet like C-phy is non-
trivial.

For a given triplet, he proposed an enumeration/ordering scheme for the three
lines.  Once this is established, we'd have the first 3 impulse response
matrices as the through-channel IRs.  The next 6 would be the 3 choose 2 =
C(3,2) = 6 distinct internal crosstalk terms for that triplet itself.  Any
crosstalk from an adjacent C-phy triplet would add 9 more crosstalk terms.
The tool could use this assembled matrix of response terms to generate the
triplet of waveform outputs at the end of the 3-wire channel.  AMI_GetWave()
would take a triplet of waveforms as inputs and outputs.

Walter summarized Alaeddin's suggestions.  He said the lines are just 3
independent single-ended channels, and the characterization of the channels
just involves computing the channels' responses and the crosstalk responses
between them.  Arpad said they're not really independent channels, as they're
all tied via resistors to a common node.  Walter asked to set that complication
aside for the time being.  Assuming we are able to create the 3x3 impulse matrix
somehow and then process it through AMI_Init(), doing a time domain simulation
will require 3 stimulus waveforms and 3 waveforms into AMI_GetWave() instead of
one.  Walter said if these assumptions are true, then we start to understand the
magnitude of the required changes.  Walter and Ambrish agreed that generating
the three stimuli is not trivial, as they're correlated and not just independent
random patterns.  The EDA tool has to generate the 3 stimulus waveforms given
one incoming bit pattern.

Walter said we will need to think about how to generate the IR matrix.  Ambrish
said he thought AMI would be the simplest way to support C-Phy, given that it
already supports equalization, low BER extrapolation, etc.  Ambrish said the one
issue that troubled him was generating the channel characterization, given the
unique issues with supporting the ramp rates for the transitions and the
terminations within the IBIS model.

Alaeddin said you would need a sophisticated SPICE simulation to extract those
edge rates to include in the IBIS model.  He said given that we are supporting
DDR without introducing separate rising/falling responses into AMI, he hoped
that the LTI assumption would be sufficient for C-phy too.  Walter asked if
Alaeddin would be able to create a document describing how to take an
S-parameter for the interconnect (3-wire lane) and generate the impulse
responses for the AMI_Init() function.  Also, given a PRBS signal as an input,
how would you generate the 3 stimuli that feed the 3 Txs?

Arpad expressed concerns about the LTI assumption.  He noted the previous
comment that AMI still only supports a single edge response.  Referring to
his slide 13 containing circuit diagrams and edge rates for the various
transitions, he noted that the differences in the edge rates between various
transitions were crucial to C-phy operation.  Even the zero crossings that
define the trigger points for the eye diagrams depend on those different
edge rates.  Ambrish and Alaeddin said this could be handled by the EDA tool
when it creates the input to the Tx AMI_GetWave().  Walter said that if the
LTI assumption holds, then all of those edges can be assumed to have the same
slope.  Arpad said we will have to think about this.

- Ambrish: Motion to adjourn.
- Walter: Second.
- Arpad: Thank you all for joining.

New ARs:

Arpad: Send his C-phy presentation and Alaeddin's to the ATM list.

-------------
Next meeting: 25 June 2024 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives
